% ������� 1. ������� ���������� ������������� ���� ��� ���������
% ������������������ � = 0:3 � � = [0.0 2.0 4.1 5.9], ���������������� ��
% ����������� ����� � �������� ���������� �������������� ������, ���������
% ������������� ���� ��� ��������� ������, ��������� ������� � �������
% ������� �� �������� �������� ��������� SPREAD.

% ��������� ����
P = 0:3;                % ������������ ����� 1�� ����
T = [0.0 2.0 4.1 5.9];  % ������������ ����� 2�� ����

% �������� ���� � ����������� P, T � SPREAD = 1.0
net = newgrnn(P,T);

% ��������� ���� � Simulink
gensim(net)

% ������������� ���� ��� ��������� ������
figure(1);
P1 = 0:3;
V1 = sim(net, P1);
plot(P1, V1, 'ob', 'MarkerSize', 8, 'LineWidth', 2);
title('������������� ���� ��� ��������� ������');
xlabel('����');ylabel('�����');
hold on

P2 = 0.5:2.5;
V2 = sim(net, P2);
plot(P2, V2, '+g', 'MarkerSize', 8, 'LineWidth', 2);
xlabel('����');ylabel('�����');
legend('0, 1, 2, 3', '0.5, 1.5, 2.5');
hold off

% ������������� ���� ��� ��������� SPREAD
figure(2);
V1 = sim(net, P);
plot(P, V1, '*r', 'MarkerSize', 8, 'LineWidth', 2);
title('������� �� �������� �������� ��������� SPREAD');
xlabel('����');ylabel('�����');
hold on

% �������� ���� � ����������� P, T � SPREAD = 0.1
net = newgrnn(P, T, 0.1);
V2 = sim(net, P);
plot(P, V2, 'ob', 'MarkerSize', 8, 'LineWidth', 2);
xlabel('����');ylabel('�����');
legend('SPREAD 1.0', 'SPREAD 0.1');
hold off

% ������� 2. ��������� ���������� ������������� ���� ��� ������� ������
% ������������� � ������������� ���������� �����������, �����������������
% �� ����������������� ������

% ����������������� ������ � 8 ������
P = [1 2 3 4 5 6 7 8];
T = [0 1 2 3 2 1 2 1];
SPREAD = 0.7;               % �������� ������ ���� �, ������� 1;

% �������� ���� � ����������� P, T � SPREAD
net = newgrnn(P, T, SPREAD);

% ������������� ����
A = sim(net, P);

figure(3);
plot(P, T, '*r', 'MarkerSize', 10);
hold on
plot(P, A, 'ob', 'MarkerSize', 10)   % ������������;
title('������������');

figure(4);
P2 = -1:0.1:10;    % �������� �2 ������ ��������� �;
A2 = sim(net, P2);
plot(P2, A2, '-r', 'LineWidth', 2)  % �������������;
hold on
plot(P, T, '*b', 'MarkerSize', 10)   % �������� �����.
title('�������������');